When preparing palm traits for analysis, I had to remove several variables that contained NAs for our palm species. Also, I removed the descriptive traits about the fruit, and the variable “FruitShape” because it has blank values.
To successfully run this, I had to remove Habitat type from our environmental variables. The problem might be the naming convention. Sarah, can you make three letter codes for these?
That’s unreadable, plotting as seperate.
Summary of RLQ analysis. How to interpret this?
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = acpR.aravo, dudiL = afcL.aravo, dudiQ = acpQ.aravo,
## scannf = FALSE)
##
## Total inertia: 0.657
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.300155 0.228303 0.083533 0.041707 0.001744
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 45.6877 34.7508 12.7148 6.3484 0.2654
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 45.69 80.44 93.15 99.50 99.77
##
## (Only 5 dimensions (out of 9) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.3001551 0.5478641 1.034229 1.481707 0.3575146
## 2 0.2283026 0.4778102 1.084627 2.004471 0.2197734
##
## Inertia & coinertia R (acpR.aravo):
## inertia max ratio
## 1 1.069629 1.755539 0.6092881
## 12 2.246045 3.085130 0.7280229
##
## Inertia & coinertia Q (acpQ.aravo):
## inertia max ratio
## 1 2.195457 5.095305 0.4308784
## 12 6.213361 7.950625 0.7814933
##
## Correlation L (afcL.aravo):
## corr max ratio
## 1 0.3575146 0.9327084 0.3833080
## 2 0.2197734 0.8335977 0.2636445
From tutorial: “Fourth-corner analysis can be used to test the associations between individual traits and environmental variables. To obtain a test with a correct type I error, results of model 2 (permutation of sites, i.e. rows) and 4 (permutation of species, i.e. columns) should be combined.”
nrepet <- 999
four.comb.aravo <- fourthcorner(p_env[,-10], p_species,
p_traits, modeltype = 6, p.adjust.method.G = "none",
p.adjust.method.D = "none", nrepet = nrepet)Plotting the data: “Blue cells correspond to negative significant relationships while red cells correspond to positive significant relationships (this can be modified using the argument col).”
I used the D2 option when plotting, but others exist: stat=“D2”: the association is measured between the quantitative variable and each category separately. A correlation coefficient is used to indicate the strength of the association between the given category and the small or large values of the quantitative variable. stat=“G”: the association between the quantitative variable and the whole categorical variable is measured by a global statistic (F). stat=“D”: the association is estimated between the quantitative variable and each category separately by a measure of the within-group homogeneity. The strength of the association is indicated by the dispersion of the values of the quantitative variable for a given category.
To replot the data for multiple comparisons: “Now, we adjust p-values for multiple comparisons (here we used the fdr method using the p.adjust.4thcorner function).”
“First, a multivariate test can be applied to evaluate the global significance of the traits-environment relationships. This test is based on the total inertia of the RLQ analysis”
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.aravo, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 0.6569709 -0.1346780 greater 0.507
## 2 Model 4 0.6569709 -0.9536772 greater 0.829
The total inertia of RLQ analysis is equal to the SRLQ multivariate statistic defined in Dray and Legendre (2008). This statistic is returned by the fourthcorner2 function:
Srlq <- fourthcorner2(p_env[,-10], p_species, p_traits,
modeltype = 6, p.adjust.method.G = "fdr", nrepet = nrepet)
Srlq$trRLQ## Monte-Carlo test
## Call: fourthcorner2(tabR = p_env[, -10], tabL = p_species, tabQ = p_traits,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -8990.343
##
## Based on 999 replicates
## Simulated p-value: 0.822
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## -9.206018e-01 -8.990088e+03 7.649906e-02
“Both approaches can be combined if RLQ scores are used to represent traits and environmental variables on a biplot. Then, significant associations revealed by the fourthcorner approach can be represented using segments (blue lines for negative associations, red lines for positive associations, see the argument col). Only traits and environmental variables that have at least one significant association are represented. Here, we apply this method using adjusted pvalues for multiple comparisons and a significant level α = 0.05.”
“Another approach is provided by the fourthcorner.rlq function and consists in testing directly the links between RLQ axes and traits (typetest=”Q.axes“) or environmental variables (typetest=”R.axes“).”
RLQ axes and traits
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.aravo, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.96134310 2.20116058 less
## 2 AxcR2 / Climb.0 Homog. 0.89121986 -0.53679743 less
## 3 AxcR1 / Climb.1 Homog. 0.03686797 -0.24848563 less
## 4 AxcR2 / Climb.1 Homog. 0.10785496 1.78642185 less
## 5 AxcR1 / Acaul.0 Homog. 1.00000000 <NA> less
## 6 AxcR2 / Acaul.0 Homog. 1.00000000 <NA> less
## 7 AxcR1 / Erect.0 Homog. 0.03686797 -0.24848563 less
## 8 AxcR2 / Erect.0 Homog. 0.10785496 1.78642185 less
## 9 AxcR1 / Erect.1 Homog. 0.96134310 2.20116058 less
## 10 AxcR2 / Erect.1 Homog. 0.89121986 -0.53679743 less
## 11 AxcR1 / StemS.0 Homog. 0.03698011 -0.82249690 less
## 12 AxcR2 / StemS.0 Homog. 0.10811460 1.69818917 less
## 13 AxcR1 / StemS.1 Homog. 0.48052421 -0.47715061 less
## 14 AxcR2 / StemS.1 Homog. 0.59926258 0.29260277 less
## 15 AxcR1 / StemS.2 Homog. 0.41908006 3.49481660 less
## 16 AxcR2 / StemS.2 Homog. 0.27599200 0.82078570 less
## 17 AxcR1 / StemA.0 Homog. 0.76595294 1.53669110 less
## 18 AxcR2 / StemA.0 Homog. 0.63295693 -1.43746503 less
## 19 AxcR1 / StemA.1 Homog. 0.20361638 0.26186245 less
## 20 AxcR2 / StemA.1 Homog. 0.32299828 0.83189141 less
## 21 AxcR1 / Leave.0 Homog. 0.72348658 2.13924819 less
## 22 AxcR2 / Leave.0 Homog. 0.52504761 -1.56755644 less
## 23 AxcR1 / Leave.1 Homog. 0.24149577 0.02111477 less
## 24 AxcR2 / Leave.1 Homog. 0.44244854 1.66729070 less
## 25 AxcR1 / MaxStemHeight_m r 0.09149172 0.68994881 two-sided
## 26 AxcR2 / MaxStemHeight_m r -0.14448147 -1.18998713 two-sided
## 27 AxcR1 / MaxStemDia_cm r 0.08749172 0.67358979 two-sided
## 28 AxcR2 / MaxStemDia_cm r -0.12934431 -1.06921687 two-sided
## 29 AxcR1 / Under.canopy Homog. 0.97761339 1.77069366 less
## 30 AxcR2 / Under.canopy Homog. 0.96901013 0.58548969 less
## 31 AxcR1 / Under.understorey Homog. 0.02065195 -0.45299627 less
## 32 AxcR2 / Under.understorey Homog. 0.03098774 -0.29627554 less
## 33 AxcR1 / AverageFruitLength_cm r 0.24503760 1.89727497 two-sided
## 34 AxcR2 / AverageFruitLength_cm r -0.12292261 -0.96520838 two-sided
## 35 AxcR1 / Fruit.large Homog. 0.42030052 2.10914139 less
## 36 AxcR2 / Fruit.large Homog. 0.51860246 2.78553943 less
## 37 AxcR1 / Fruit.small Homog. 0.55423824 2.73768704 less
## 38 AxcR2 / Fruit.small Homog. 0.46746559 1.25826119 less
## 39 AxcR1 / Consp.conspicuous Homog. 0.28302363 -1.35476992 less
## 40 AxcR2 / Consp.conspicuous Homog. 0.49950186 1.79562903 less
## 41 AxcR1 / Consp.cryptic Homog. 0.67206694 1.88678666 less
## 42 AxcR2 / Consp.cryptic Homog. 0.46811068 -0.15736019 less
## Pvalue Pvalue.adj
## 1 0.996 1
## 2 0.261 0.8150625
## 3 0.61 0.8150625
## 4 0.946 1
## 5 1 1
## 6 1 1
## 7 0.61 0.8150625
## 8 0.946 1
## 9 0.996 1
## 10 0.261 0.8150625
## 11 0.241 0.8150625
## 12 0.942 1
## 13 0.308 0.8150625
## 14 0.584 0.8150625
## 15 0.993 1
## 16 0.833 1
## 17 0.929 1
## 18 0.099 0.693
## 19 0.594 0.8150625
## 20 0.811 1
## 21 0.967 1
## 22 0.07 0.6216
## 23 0.538 0.8150625
## 24 0.966 1
## 25 0.527 0.8150625
## 26 0.264 0.8150625
## 27 0.524 0.8150625
## 28 0.296 0.8150625
## 29 0.973 1
## 30 0.713 1
## 31 0.504 0.8150625
## 32 0.571 0.8150625
## 33 0.046 0.6216
## 34 0.366 0.8150625
## 35 0.973 1
## 36 0.993 1
## 37 0.988 1
## 38 0.911 1
## 39 0.074 0.6216
## 40 0.976 1
## 41 0.944 1
## 42 0.429 0.8150625
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RLQ axes and environmental variables
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.aravo, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue
## 1 Canopy.Cover / AxcQ1 r -0.012420893 -0.08504096 two-sided 0.891
## 2 Understory.Density / AxcQ1 r -0.029892325 -0.28535590 two-sided 0.784
## 3 Leaf.Litter / AxcQ1 r 0.083803687 0.83347452 two-sided 0.432
## 4 Soil.Moisture / AxcQ1 r 0.122365689 1.10765079 two-sided 0.265
## 5 Cec / AxcQ1 r 0.046971395 1.03900906 two-sided 0.333
## 6 T50 / AxcQ1 r 0.009956983 0.17613818 two-sided 0.897
## 7 T10 / AxcQ1 r 0.304644385 1.82411195 two-sided 0.079
## 8 Canopy.Height / AxcQ1 r -0.124070105 -1.03016040 two-sided 0.331
## 9 Elevation / AxcQ1 r 0.056259879 0.43232450 two-sided 0.687
## 10 Canopy.Cover / AxcQ2 r 0.014571724 0.12684783 two-sided 0.846
## 11 Understory.Density / AxcQ2 r -0.114617370 -1.15933364 two-sided 0.27
## 12 Leaf.Litter / AxcQ2 r 0.049781194 0.49259572 two-sided 0.636
## 13 Soil.Moisture / AxcQ2 r -0.068450849 -0.84961406 two-sided 0.419
## 14 Cec / AxcQ2 r 0.027732905 0.71951008 two-sided 0.499
## 15 T50 / AxcQ2 r 0.098808237 1.14865071 two-sided 0.219
## 16 T10 / AxcQ2 r -0.062682617 -0.36973774 two-sided 0.699
## 17 Canopy.Height / AxcQ2 r -0.090071839 -0.81666971 two-sided 0.48
## 18 Elevation / AxcQ2 r 0.117191890 0.95719518 two-sided 0.367
## Pvalue.adj
## 1 0.891
## 2 0.882
## 3 0.816545454545455
## 4 0.777857142857143
## 5 0.816545454545455
## 6 0.897
## 7 0.708
## 8 0.816545454545455
## 9 0.834352941176471
## 10 0.891
## 11 0.777857142857143
## 12 0.834352941176471
## 13 0.816545454545455
## 14 0.816545454545455
## 15 0.777857142857143
## 16 0.834352941176471
## 17 0.816545454545455
## 18 0.816545454545455
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Results can be represented using a table with colors indicating significance :
Significance with axes can also be reported on the factorial map of RLQ analysis. Here, significant associations with the first axis are represented in blue, with the second axis in orange, with both axes in green (variables with no significant association are in black)
That’s unreadable, plotting as separate.
## [1] "RLQ for juveniles"
## [1] "RLQ for adults"
Summary of RLQ analysis. How to interpret this?
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Rjuv, dudiL = Ljuv, dudiQ = Qjuv, scannf = FALSE)
##
## Total inertia: 1.429
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.746537 0.500895 0.121014 0.054025 0.003262
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 52.2481 35.0563 8.4695 3.7811 0.2283
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 52.25 87.30 95.77 99.55 99.78
##
## (Only 5 dimensions (out of 9) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.7465371 0.8640238 1.170836 1.785317 0.4133466
## 2 0.5008948 0.7077392 1.244773 1.691688 0.3360957
##
## Inertia & coinertia R (Rjuv):
## inertia max ratio
## 1 1.370856 1.858611 0.7375703
## 12 2.920316 3.464436 0.8429412
##
## Inertia & coinertia Q (Qjuv):
## inertia max ratio
## 1 3.187357 5.160919 0.6175949
## 12 6.049164 7.993775 0.7567344
##
## Correlation L (Ljuv):
## corr max ratio
## 1 0.4133466 0.9448971 0.4374514
## 2 0.3360957 0.9087471 0.3698452
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Radu, dudiL = Ladu, dudiQ = Qadu, scannf = FALSE)
##
## Total inertia: 1.04
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.564979 0.338546 0.115397 0.015354 0.003838
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 54.314 32.546 11.094 1.476 0.369
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 54.31 86.86 97.95 99.43 99.80
##
## (Only 5 dimensions (out of 10) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.5649794 0.7516511 1.317944 1.702729 0.3349451
## 2 0.3385457 0.5818468 1.128801 2.171484 0.2373747
##
## Inertia & coinertia R (Radu):
## inertia max ratio
## 1 1.736977 2.095715 0.8288231
## 12 3.011170 3.680365 0.8181714
##
## Inertia & coinertia Q (Qadu):
## inertia max ratio
## 1 2.899287 4.937157 0.5872382
## 12 7.614631 7.890549 0.9650318
##
## Correlation L (Ladu):
## corr max ratio
## 1 0.3349451 1.0000000 0.3349451
## 2 0.2373747 0.9128287 0.2600430
## [1] "FQ for juveniles"
## [1] "FQ for adults"
## [1] "FQ for Juveniles"
## [1] "FQ for Adults"
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 1.42883 0.1299938 greater 0.373
## 2 Model 4 1.42883 -0.2833431 greater 0.569
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 1.040218 14.1026397 greater 0.001
## 2 Model 4 1.040218 -0.1732769 greater 0.549
The total inertia of RLQ analysis is equal to the SRLQ multivariate statistic defined in Dray and Legendre (2008). This statistic is returned by the fourthcorner2 function:
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envFORCOVER, tabL = p_speciesJUV, tabQ = p_traits,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -8989.571
##
## Based on 848 replicates
## Simulated p-value: 0.5206125
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 3.635986e-01 -1.067521e+04 2.149238e+07
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envFORCOVER, tabL = p_speciesADU, tabQ = p_traits,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: -8989.96
##
## Based on 999 replicates
## Simulated p-value: 0.469
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 3.555372e-01 -1.065493e+04 2.193028e+07
## [1] "juvenile"
## [1] "adult"
“Another approach is provided by the fourthcorner.rlq function and consists in testing directly the links between RLQ axes and traits (typetest=”Q.axes“) or environmental variables (typetest=”R.axes“).”
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.935408906 0.96730878 less
## 2 AxcR2 / Climb.0 Homog. 0.896219686 -0.46788626 less
## 3 AxcR1 / Climb.1 Homog. 0.062673284 0.07444970 less
## 4 AxcR2 / Climb.1 Homog. 0.100874152 0.87771669 less
## 5 AxcR1 / Acaul.0 Homog. 1.000000000 <NA> less
## 6 AxcR2 / Acaul.0 Homog. 1.000000000 <NA> less
## 7 AxcR1 / Erect.0 Homog. 0.062673284 0.07444970 less
## 8 AxcR2 / Erect.0 Homog. 0.100874152 0.87771669 less
## 9 AxcR1 / Erect.1 Homog. 0.935408906 0.96730878 less
## 10 AxcR2 / Erect.1 Homog. 0.896219686 -0.46788626 less
## 11 AxcR1 / StemS.0 Homog. 0.062673284 -0.42172090 less
## 12 AxcR2 / StemS.0 Homog. 0.100874152 0.87771669 less
## 13 AxcR1 / StemS.1 Homog. 0.434638318 -0.66069204 less
## 14 AxcR2 / StemS.1 Homog. 0.515663169 -0.21398743 less
## 15 AxcR1 / StemS.2 Homog. 0.336057240 1.95516021 less
## 16 AxcR2 / StemS.2 Homog. 0.379436083 2.91532672 less
## 17 AxcR1 / StemA.0 Homog. 0.823478093 2.21574440 less
## 18 AxcR2 / StemA.0 Homog. 0.594579406 -1.47389245 less
## 19 AxcR1 / StemA.1 Homog. 0.174538043 0.04400098 less
## 20 AxcR2 / StemA.1 Homog. 0.280158884 0.47985122 less
## 21 AxcR1 / Leave.0 Homog. 0.758100818 2.24583807 less
## 22 AxcR2 / Leave.0 Homog. 0.493674666 -1.56170756 less
## 23 AxcR1 / Leave.1 Homog. 0.237514667 0.04512235 less
## 24 AxcR2 / Leave.1 Homog. 0.419778917 1.50727468 less
## 25 AxcR1 / MaxStemHeight_m r -0.210341823 -1.33485794 two-sided
## 26 AxcR2 / MaxStemHeight_m r -0.077264855 -0.60188406 two-sided
## 27 AxcR1 / MaxStemDia_cm r -0.214542329 -1.34534367 two-sided
## 28 AxcR2 / MaxStemDia_cm r -0.059720466 -0.50256913 two-sided
## 29 AxcR1 / Under.canopy Homog. 0.980841113 0.92303525 less
## 30 AxcR2 / Under.canopy Homog. 0.982255001 1.08882504 less
## 31 AxcR1 / Under.understorey Homog. 0.017971110 -0.50703885 less
## 32 AxcR2 / Under.understorey Homog. 0.017628019 -0.52176153 less
## 33 AxcR1 / AverageFruitLength_cm r -0.411890001 -2.72154411 two-sided
## 34 AxcR2 / AverageFruitLength_cm r -0.004254722 -0.05040763 two-sided
## 35 AxcR1 / Fruit.large Homog. 0.384995644 1.64637176 less
## 36 AxcR2 / Fruit.large Homog. 0.464108800 2.20963518 less
## 37 AxcR1 / Fruit.small Homog. 0.515842044 2.27569208 less
## 38 AxcR2 / Fruit.small Homog. 0.534845101 2.63988352 less
## 39 AxcR1 / Consp.conspicuous Homog. 0.273692963 -1.14915964 less
## 40 AxcR2 / Consp.conspicuous Homog. 0.460961375 1.47668390 less
## 41 AxcR1 / Consp.cryptic Homog. 0.718840507 2.13546153 less
## 42 AxcR2 / Consp.cryptic Homog. 0.448132549 -0.23765943 less
## Pvalue Pvalue.adj
## 1 0.834 1
## 2 0.239 0.939555555555556
## 3 0.729545454545454 0.953181818181818
## 4 0.816 1
## 5 1 1
## 6 1 1
## 7 0.729545454545454 0.953181818181818
## 8 0.816 1
## 9 0.834 1
## 10 0.239 0.939555555555556
## 11 0.48991935483871 0.939555555555556
## 12 0.816 1
## 13 0.29 0.939555555555556
## 14 0.435 0.939555555555556
## 15 0.94 1
## 16 0.982 1
## 17 0.984 1
## 18 0.088 0.7476
## 19 0.573 0.939555555555556
## 20 0.672 1
## 21 0.976 1
## 22 0.089 0.7476
## 23 0.54 0.939555555555556
## 24 0.951 1
## 25 0.2 0.939555555555556
## 26 0.577 1
## 27 0.198 0.939555555555556
## 28 0.664 1
## 29 0.817 1
## 30 0.867 1
## 31 0.500576701268743 0.939555555555556
## 32 0.567474048442907 0.939555555555556
## 33 0.001 0.042 *
## 34 0.967 1
## 35 0.944 1
## 36 0.976 1
## 37 0.967 1
## 38 0.985 1
## 39 0.136 0.939555555555556
## 40 0.953 1
## 41 0.97 1
## 42 0.424 0.939555555555556
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.836672753 -1.25688155 less
## 2 AxcR2 / Climb.0 Homog. 0.940072279 0.35896830 less
## 3 AxcR1 / Climb.1 Homog. 0.074800140 0.75299442 less
## 4 AxcR2 / Climb.1 Homog. 0.056918191 -0.05118715 less
## 5 AxcR1 / Acaul.0 Homog. 1.000000000 <NA> less
## 6 AxcR2 / Acaul.0 Homog. 1.000000000 <NA> less
## 7 AxcR1 / Erect.0 Homog. 0.074800140 0.75299442 less
## 8 AxcR2 / Erect.0 Homog. 0.056918191 -0.05118715 less
## 9 AxcR1 / Erect.1 Homog. 0.836672753 -1.25688155 less
## 10 AxcR2 / Erect.1 Homog. 0.940072279 0.35896830 less
## 11 AxcR1 / StemS.0 Homog. 0.100179857 2.12995286 less
## 12 AxcR2 / StemS.0 Homog. 0.061059378 -0.48373717 less
## 13 AxcR1 / StemS.1 Homog. 0.641005501 0.57497054 less
## 14 AxcR2 / StemS.1 Homog. 0.722324576 1.17791479 less
## 15 AxcR1 / StemS.2 Homog. 0.155320246 -0.92942985 less
## 16 AxcR2 / StemS.2 Homog. 0.193553765 -0.63288592 less
## 17 AxcR1 / StemA.0 Homog. 0.656649208 1.80265637 less
## 18 AxcR2 / StemA.0 Homog. 0.629379796 0.73860010 less
## 19 AxcR1 / StemA.1 Homog. 0.312689117 1.17801079 less
## 20 AxcR2 / StemA.1 Homog. 0.363941396 1.34293539 less
## 21 AxcR1 / Leave.0 Homog. 0.510919122 -1.69942334 less
## 22 AxcR2 / Leave.0 Homog. 0.566988117 0.85126100 less
## 23 AxcR1 / Leave.1 Homog. 0.488493502 1.01718767 less
## 24 AxcR2 / Leave.1 Homog. 0.421492370 1.17374967 less
## 25 AxcR1 / MaxStemHeight_m r 0.088990901 0.55193677 two-sided
## 26 AxcR2 / MaxStemHeight_m r 0.252057476 2.13834988 two-sided
## 27 AxcR1 / MaxStemDia_cm r -0.035464815 -0.25817726 two-sided
## 28 AxcR2 / MaxStemDia_cm r 0.258239812 2.20446456 two-sided
## 29 AxcR1 / Under.canopy Homog. 0.940406773 0.47747322 less
## 30 AxcR2 / Under.canopy Homog. 0.949032509 1.00781417 less
## 31 AxcR1 / Under.understorey Homog. 0.058403035 0.07372075 less
## 32 AxcR2 / Under.understorey Homog. 0.049026243 -0.16777458 less
## 33 AxcR1 / AverageFruitLength_cm r -0.004633307 -0.16778394 two-sided
## 34 AxcR2 / AverageFruitLength_cm r 0.158137536 1.37845374 two-sided
## 35 AxcR1 / Fruit.large Homog. 0.463222263 2.50854387 less
## 36 AxcR2 / Fruit.large Homog. 0.558166806 0.48794982 less
## 37 AxcR1 / Fruit.small Homog. 0.534548704 2.61819964 less
## 38 AxcR2 / Fruit.small Homog. 0.400441438 -1.69145817 less
## 39 AxcR1 / Consp.conspicuous Homog. 0.559426785 1.05934370 less
## 40 AxcR2 / Consp.conspicuous Homog. 0.506219974 0.04933554 less
## 41 AxcR1 / Consp.cryptic Homog. 0.439722847 -0.26063794 less
## 42 AxcR2 / Consp.cryptic Homog. 0.473926570 -0.05589842 less
## Pvalue Pvalue.adj
## 1 0.127 0.654
## 2 0.598 0.966
## 3 0.791 1
## 4 0.793397231096912 1
## 5 1 1
## 6 1 1
## 7 0.791 1
## 8 0.793397231096912 1
## 9 0.127 0.654
## 10 0.598 0.966
## 11 0.974 1
## 12 0.495 1
## 13 0.681 1
## 14 0.881 1
## 15 0.218 0.654
## 16 0.345 0.905625
## 17 0.966 1
## 18 0.77 1
## 19 0.854 1
## 20 0.881 1
## 21 0.056 0.4704
## 22 0.802 1
## 23 0.842 1
## 24 0.887 1
## 25 0.631 1
## 26 0.004 0.084 .
## 27 0.791 1
## 28 0.002 0.084 .
## 29 0.664 1
## 30 0.84 1
## 31 0.647497337593184 1
## 32 0.647497337593184 1
## 33 0.868 1
## 34 0.197 0.654
## 35 0.981 1
## 36 0.688 1
## 37 0.996 1
## 38 0.043 0.168
## 39 0.855 1
## 40 0.538 1
## 41 0.41 0.956666666666667
## 42 0.483 1
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Canopy.Cover / AxcQ1 r -0.023925899 -0.1934982 two-sided 0.793 0.906285714285714
## 2 Understory.Density / AxcQ1 r -0.046616337 -0.3474136 two-sided 0.763 0.906285714285714
## 3 Leaf.Litter / AxcQ1 r -0.004365802 -0.0126180 two-sided 0.987 0.987
## 4 Soil.Moisture / AxcQ1 r -0.220288874 -1.6287285 two-sided 0.11 0.377142857142857
## 5 Cec / AxcQ1 r -0.021245562 -0.1654269 two-sided 0.739 0.906285714285714
## 6 T50 / AxcQ1 r 0.050329640 0.6670247 two-sided 0.555 0.830181818181818
## 7 T10 / AxcQ1 r -0.314893261 -1.4962719 two-sided 0.135 0.648
## 8 Canopy.Height / AxcQ1 r 0.080491140 0.5959590 two-sided 0.586 0.830181818181818
## 9 Elevation / AxcQ1 r 0.074152550 0.5241494 two-sided 0.629 0.838666666666667
## 10 Habit.Primary / AxcQ1 Homog. 0.339462103 -1.5132647 less 0.087 0.522
## 11 Habit.Secondary / AxcQ1 Homog. 0.586665219 1.2752312 less 0.886 0.924521739130435
## 12 Habit.Transition / AxcQ1 Homog. 0.005065871 -0.3037668 less 0.434 0.801230769230769
## 13 Canopy.Cover / AxcQ2 r -0.077862187 -1.1990435 two-sided 0.25 0.690666666666667
## 14 Understory.Density / AxcQ2 r -0.189627260 -1.6219673 two-sided 0.11 0.377142857142857
## 15 Leaf.Litter / AxcQ2 r 0.155590484 1.1873636 two-sided 0.259 0.690666666666667
## 16 Soil.Moisture / AxcQ2 r -0.067983135 -0.5704121 two-sided 0.618 0.830181818181818
## 17 Cec / AxcQ2 r 0.052327639 0.8462091 two-sided 0.423 0.801230769230769
## 18 T50 / AxcQ2 r 0.153959525 1.5089620 two-sided 0.176 0.474666666666667
## 19 T10 / AxcQ2 r 0.119721332 0.5934057 two-sided 0.587 0.830181818181818
## 20 Canopy.Height / AxcQ2 r -0.132627095 -1.0155636 two-sided 0.36 0.785454545454545
## 21 Elevation / AxcQ2 r 0.213975341 1.4183420 two-sided 0.176 0.690666666666667
## 22 Habit.Primary / AxcQ2 Homog. 0.548269612 1.2032756 less 0.882 0.922434782608696
## 23 Habit.Secondary / AxcQ2 Homog. 0.448034986 -0.5104000 less 0.298 0.7152
## 24 Habit.Transition / AxcQ2 Homog. 0.003669394 -0.7159396 less 0.203 0.690666666666667
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Canopy.Cover / AxcQ1 r -0.020525343 -0.52987608 two-sided 0.593 0.884210526315789
## 2 Understory.Density / AxcQ1 r 0.176408140 1.90263412 two-sided 0.066 0.6384
## 3 Leaf.Litter / AxcQ1 r -0.050385708 -0.56929404 two-sided 0.642 0.884210526315789
## 4 Soil.Moisture / AxcQ1 r -0.201383111 -1.92812765 two-sided 0.084 0.6384
## 5 Cec / AxcQ1 r -0.032244658 -0.69057769 two-sided 0.552 0.884210526315789
## 6 T50 / AxcQ1 r 0.062841701 1.54634036 two-sided 0.133 0.6384
## 7 T10 / AxcQ1 r 0.104356069 1.04877602 two-sided 0.335 0.884210526315789
## 8 Canopy.Height / AxcQ1 r -0.079818074 -0.61186294 two-sided 0.53 0.884210526315789
## 9 Elevation / AxcQ1 r 0.292632454 1.94190843 two-sided 0.061 0.6384
## 10 Habit.Primary / AxcQ1 Homog. 0.616404905 3.82920806 less 1 1
## 11 Habit.Secondary / AxcQ1 Homog. 0.351213487 0.06348844 less 0.453 0.884210526315789
## 12 Habit.Transition / AxcQ1 Homog. 0.020031880 1.01380927 less 0.89 0.970909090909091
## 13 Canopy.Cover / AxcQ2 r -0.059842511 -1.41144181 two-sided 0.177 0.685714285714286
## 14 Understory.Density / AxcQ2 r -0.043046543 -0.55372181 two-sided 0.589 0.884210526315789
## 15 Leaf.Litter / AxcQ2 r 0.116980880 1.34077455 two-sided 0.2 0.685714285714286
## 16 Soil.Moisture / AxcQ2 r -0.059469654 -0.50494174 two-sided 0.671 0.884210526315789
## 17 Cec / AxcQ2 r 0.003349974 0.07791062 two-sided 0.949 1
## 18 T50 / AxcQ2 r -0.015681784 -0.42301126 two-sided 0.7 0.884210526315789
## 19 T10 / AxcQ2 r 0.114251067 0.99929615 two-sided 0.404 0.884210526315789
## 20 Canopy.Height / AxcQ2 r 0.185686323 1.51680403 two-sided 0.122 0.6384
## 21 Elevation / AxcQ2 r 0.006309089 0.11471122 two-sided 0.901 1
## 22 Habit.Primary / AxcQ2 Homog. 0.671935150 7.51254013 less 1 1
## 23 Habit.Secondary / AxcQ2 Homog. 0.315497275 -0.70813760 less 0.244 0.732
## 24 Habit.Transition / AxcQ2 Homog. 0.011255924 0.97553325 less 0.842 0.962285714285714
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Results can be represented using a table with colors indicating significance :
## [1] "juveniles"
## [1] "adults"
Significance with axes can also be reported on the factorial map of RLQ analysis. Here, significant associations with the first axis are represented in blue, with the second axis in orange, with both axes in green (variables with no significant association are in black)
## [1] "juveniles"
## [1] "adults"
p_traits$Endemic<-as.factor(palm_list$Endemic)
# splom(p_envFORCOVER)
res1 <- corrplot::cor.mtest(p_envFORCOVER[,1:9], conf.level = 0.95)
corrplot::corrplot(cor(p_envFORCOVER[,1:9]),p.mat = res1$p,type = "upper")## Loading required package: xts
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
##
## Attaching package: 'xts'
## The following objects are masked from 'package:dplyr':
##
## first, last
##
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
##
## legend
That’s unreadable, plotting as separate.
## [1] "RLQ for juveniles"
## [1] "RLQ for adults"
Summary of RLQ analysis. How to interpret this?
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Rjuv, dudiL = Ljuv, dudiQ = Qjuv, scannf = FALSE)
##
## Total inertia: 0.5071
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.30533 0.11443 0.06096 0.02369 0.00200
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 60.2072 22.5644 12.0197 4.6722 0.3943
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 60.21 82.77 94.79 99.46 99.86
##
## (Only 5 dimensions (out of 8) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.3053304 0.5525671 1.063631 1.508370 0.3444183
## 2 0.1144315 0.3382772 1.111907 1.627049 0.1869837
##
## Inertia & coinertia R (Rjuv):
## inertia max ratio
## 1 1.131310 1.408984 0.8029265
## 12 2.367647 2.673132 0.8857201
##
## Inertia & coinertia Q (Qjuv):
## inertia max ratio
## 1 2.275181 3.708939 0.6134317
## 12 4.922468 6.934943 0.7098066
##
## Correlation L (Ljuv):
## corr max ratio
## 1 0.3444183 0.8781144 0.3922248
## 2 0.1869837 0.8370330 0.2233887
## RLQ analysis
##
## Class: rlq dudi
## Call: rlq(dudiR = Radu, dudiL = Ladu, dudiQ = Qadu, scannf = FALSE)
##
## Total inertia: 0.3568
##
## Eigenvalues:
## Ax1 Ax2 Ax3 Ax4 Ax5
## 0.192475 0.086756 0.067868 0.005586 0.002817
##
## Projected inertia (%):
## Ax1 Ax2 Ax3 Ax4 Ax5
## 53.9414 24.3135 19.0201 1.5656 0.7894
##
## Cumulative projected inertia (%):
## Ax1 Ax1:2 Ax1:3 Ax1:4 Ax1:5
## 53.94 78.25 97.27 98.84 99.63
##
## (Only 5 dimensions (out of 8) are shown)
##
##
## Eigenvalues decomposition:
## eig covar sdR sdQ corr
## 1 0.19247487 0.4387196 1.086161 1.913300 0.2111105
## 2 0.08675598 0.2945437 1.102252 1.403553 0.1903882
##
## Inertia & coinertia R (Radu):
## inertia max ratio
## 1 1.179745 1.387695 0.8501476
## 12 2.394704 2.740164 0.8739273
##
## Inertia & coinertia Q (Qadu):
## inertia max ratio
## 1 3.660716 4.077184 0.8978541
## 12 5.630678 7.312295 0.7700288
##
## Correlation L (Ladu):
## corr max ratio
## 1 0.2111105 1.0000000 0.2111105
## 2 0.1903882 0.9480088 0.2008296
## [1] "FQ for juveniles"
## [1] "FQ for adults"
## [1] "FQ for Juveniles"
## [1] "FQ for Adults"
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 0.507133 11.989747 greater 0.001
## 2 Model 4 0.507133 0.149111 greater 0.414
## class: krandtest lightkrandtest
## Monte-Carlo tests
## Call: randtest.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6)
##
## Number of tests: 2
##
## Adjustment method for multiple comparisons: none
## Permutation number: 999
## Test Obs Std.Obs Alter Pvalue
## 1 Model 2 0.3568223 12.3122528 greater 0.001
## 2 Model 4 0.3568223 0.9470843 greater 0.187
The total inertia of RLQ analysis is equal to the SRLQ multivariate statistic defined in Dray and Legendre (2008). This statistic is returned by the fourthcorner2 function:
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envCombined, tabL = JuvCombined, tabQ = p_traits2,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: 0.507133
##
## Based on 964 replicates
## Simulated p-value: 0.4310881
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 0.07735429 0.49603360 0.02058880
## Monte-Carlo test
## Call: fourthcorner2(tabR = p_envCombined, tabL = AduCombined, tabQ = p_traits2,
## modeltype = 6, nrepet = nrepet, p.adjust.method.G = "fdr")
##
## Observation: 0.3568223
##
## Based on 999 replicates
## Simulated p-value: 0.134
## Alternative hypothesis: greater
##
## Std.Obs Expectation Variance
## 5.358126e-01 -2.675706e+03 2.494404e+07
## [1] "juvenile"
## [1] "adult"
“Another approach is provided by the fourthcorner.rlq function and consists in testing directly the links between RLQ axes and traits (typetest=”Q.axes“) or environmental variables (typetest=”R.axes“).”
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.950691650 -0.02627275 less
## 2 AxcR2 / Climb.0 Homog. 0.941841026 -0.18914483 less
## 3 AxcR1 / Climb.1 Homog. 0.033731565 -0.04376948 less
## 4 AxcR2 / Climb.1 Homog. 0.049479519 1.41768123 less
## 5 AxcR1 / Erect.0 Homog. 0.033731565 -0.04376948 less
## 6 AxcR2 / Erect.0 Homog. 0.049479519 1.41768123 less
## 7 AxcR1 / Erect.1 Homog. 0.950691650 -0.02627275 less
## 8 AxcR2 / Erect.1 Homog. 0.941841026 -0.18914483 less
## 9 AxcR1 / StemS.0 Homog. 0.042486336 -0.54922290 less
## 10 AxcR2 / StemS.0 Homog. 0.059233726 1.31869388 less
## 11 AxcR1 / StemS.1 Homog. 0.600092020 0.05313071 less
## 12 AxcR2 / StemS.1 Homog. 0.663529348 0.95674919 less
## 13 AxcR1 / StemS.2 Homog. 0.337273734 1.93148946 less
## 14 AxcR2 / StemS.2 Homog. 0.267940716 -0.24725384 less
## 15 AxcR1 / StemA.0 Homog. 0.413618760 1.00139931 less
## 16 AxcR2 / StemA.0 Homog. 0.409856391 0.51879286 less
## 17 AxcR1 / StemA.1 Homog. 0.572991793 3.46109130 less
## 18 AxcR2 / StemA.1 Homog. 0.587847629 3.72888398 less
## 19 AxcR1 / Leave.0 Homog. 0.354248320 -0.08996388 less
## 20 AxcR2 / Leave.0 Homog. 0.353383576 -0.11390124 less
## 21 AxcR1 / Leave.1 Homog. 0.616579602 3.17434276 less
## 22 AxcR2 / Leave.1 Homog. 0.646520452 3.59105969 less
## 23 AxcR1 / MaxStemHeight_m r -0.081641368 -0.55717044 two-sided
## 24 AxcR2 / MaxStemHeight_m r 0.019080907 0.21166716 two-sided
## 25 AxcR1 / MaxStemDia_cm r -0.111440071 -0.75373634 two-sided
## 26 AxcR2 / MaxStemDia_cm r 0.051767377 0.59655000 two-sided
## 27 AxcR1 / Under.canopy Homog. 0.825995793 -0.24892518 less
## 28 AxcR2 / Under.canopy Homog. 0.824299326 -0.34848379 less
## 29 AxcR1 / Under.understorey Homog. 0.131796389 0.03200571 less
## 30 AxcR2 / Under.understorey Homog. 0.173736036 0.43373567 less
## 31 AxcR1 / AverageFruitLength_cm r 0.003639056 0.04056113 two-sided
## 32 AxcR2 / AverageFruitLength_cm r 0.139110582 1.58693218 two-sided
## 33 AxcR1 / Fruit.large Homog. 0.171370100 -0.10348424 less
## 34 AxcR2 / Fruit.large Homog. 0.225979472 0.35982084 less
## 35 AxcR1 / Fruit.small Homog. 0.816271465 3.49025408 less
## 36 AxcR2 / Fruit.small Homog. 0.742787554 -0.61921641 less
## 37 AxcR1 / Consp.conspicuous Homog. 0.665815314 1.41237617 less
## 38 AxcR2 / Consp.conspicuous Homog. 0.699872302 1.80720472 less
## 39 AxcR1 / Consp.cryptic Homog. 0.317460710 0.88930762 less
## 40 AxcR2 / Consp.cryptic Homog. 0.298427569 -0.32309643 less
## 41 AxcR1 / Endem.N Homog. 0.722721789 -0.13586548 less
## 42 AxcR2 / Endem.N Homog. 0.720851064 -0.24067573 less
## 43 AxcR1 / Endem.Y Homog. 0.191637919 -0.40063864 less
## 44 AxcR2 / Endem.Y Homog. 0.272932571 0.56141136 less
## Pvalue Pvalue.adj
## 1 0.341 0.883666666666667
## 2 0.44 0.883666666666667
## 3 0.710526315789474 0.883666666666667
## 4 0.912 0.955428571428572
## 5 0.710526315789474 0.883666666666667
## 6 0.912 0.955428571428572
## 7 0.341 0.883666666666667
## 8 0.44 0.883666666666667
## 9 0.388 0.883666666666667
## 10 0.895 0.955428571428572
## 11 0.517 0.883666666666667
## 12 0.847 0.955428571428572
## 13 0.962 0.984372093023256
## 14 0.415 0.883666666666667
## 15 0.848 0.955428571428572
## 16 0.73 0.944705882352941
## 17 0.999 1
## 18 1 1
## 19 0.477 0.735862068965517
## 20 0.475 0.735862068965517
## 21 0.998 1
## 22 1 1
## 23 0.597 0.883666666666667
## 24 0.866 1
## 25 0.489 0.883666666666667
## 26 0.578 0.883666666666667
## 27 0.322 0.883666666666667
## 28 0.335 0.883666666666667
## 29 0.608 0.883666666666667
## 30 0.684 0.883666666666667
## 31 0.981 1
## 32 0.096 0.66
## 33 0.533 0.883666666666667
## 34 0.657 0.883666666666667
## 35 1 1
## 36 0.265 0.883666666666667
## 37 0.904 1
## 38 0.961 1
## 39 0.83 0.955428571428572
## 40 0.371 0.680166666666667
## 41 0.413 0.883666666666667
## 42 0.385 0.883666666666667
## 43 0.384 0.883666666666667
## 44 0.755 0.949142857142857
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "Q.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter
## 1 AxcR1 / Climb.0 Homog. 0.97179858 0.915771315 less
## 2 AxcR2 / Climb.0 Homog. 0.97948921 2.497885557 less
## 3 AxcR1 / Climb.1 Homog. 0.02531189 -0.368127584 less
## 4 AxcR2 / Climb.1 Homog. 0.01348188 -0.607435103 less
## 5 AxcR1 / Erect.0 Homog. 0.02531189 -0.368127584 less
## 6 AxcR2 / Erect.0 Homog. 0.01348188 -0.607435103 less
## 7 AxcR1 / Erect.1 Homog. 0.97179858 0.915771315 less
## 8 AxcR2 / Erect.1 Homog. 0.97948921 2.497885557 less
## 9 AxcR1 / StemS.0 Homog. 0.04679292 -0.468267804 less
## 10 AxcR2 / StemS.0 Homog. 0.04346445 -0.594532342 less
## 11 AxcR1 / StemS.1 Homog. 0.47268434 -0.643920189 less
## 12 AxcR2 / StemS.1 Homog. 0.53370050 2.924448317 less
## 13 AxcR1 / StemS.2 Homog. 0.46353583 0.933883756 less
## 14 AxcR2 / StemS.2 Homog. 0.41647109 0.789333538 less
## 15 AxcR1 / StemA.0 Homog. 0.21466306 -1.158529289 less
## 16 AxcR2 / StemA.0 Homog. 0.29338290 3.848765983 less
## 17 AxcR1 / StemA.1 Homog. 0.78478607 1.170086604 less
## 18 AxcR2 / StemA.1 Homog. 0.69891091 3.336111180 less
## 19 AxcR1 / Leave.0 Homog. 0.18698199 -0.838501290 less
## 20 AxcR2 / Leave.0 Homog. 0.26528813 4.425529380 less
## 21 AxcR1 / Leave.1 Homog. 0.81301791 0.884416114 less
## 22 AxcR2 / Leave.1 Homog. 0.71751015 2.874149109 less
## 23 AxcR1 / MaxStemHeight_m r -0.11128831 -1.388747528 two-sided
## 24 AxcR2 / MaxStemHeight_m r -0.04326206 -0.584694138 two-sided
## 25 AxcR1 / MaxStemDia_cm r -0.16305380 -2.060055734 two-sided
## 26 AxcR2 / MaxStemDia_cm r -0.02330345 -0.255398809 two-sided
## 27 AxcR1 / Under.canopy Homog. 0.84135842 -0.055587184 less
## 28 AxcR2 / Under.canopy Homog. 0.84882465 0.891265991 less
## 29 AxcR1 / Under.understorey Homog. 0.15371029 0.060170728 less
## 30 AxcR2 / Under.understorey Homog. 0.14529232 -0.003084907 less
## 31 AxcR1 / AverageFruitLength_cm r -0.20867857 -2.759783910 two-sided
## 32 AxcR2 / AverageFruitLength_cm r 0.03378664 0.533706335 two-sided
## 33 AxcR1 / Fruit.large Homog. 0.21701516 0.198949939 less
## 34 AxcR2 / Fruit.large Homog. 0.22896442 0.314627941 less
## 35 AxcR1 / Fruit.small Homog. 0.74297350 -0.435336291 less
## 36 AxcR2 / Fruit.small Homog. 0.76496435 -0.325948611 less
## 37 AxcR1 / Consp.conspicuous Homog. 0.76188172 1.400910039 less
## 38 AxcR2 / Consp.conspicuous Homog. 0.72621006 1.442229026 less
## 39 AxcR1 / Consp.cryptic Homog. 0.23058913 -0.496923851 less
## 40 AxcR2 / Consp.cryptic Homog. 0.27337586 1.876080636 less
## 41 AxcR1 / Endem.N Homog. 0.83942871 0.435476460 less
## 42 AxcR2 / Endem.N Homog. 0.85125177 1.370082319 less
## 43 AxcR1 / Endem.Y Homog. 0.15572888 -0.519435782 less
## 44 AxcR2 / Endem.Y Homog. 0.13859593 -0.740827054 less
## Pvalue Pvalue.adj
## 1 0.817 1
## 2 0.999 1
## 3 0.489308176100629 0.861182389937107
## 4 0.306918238993711 0.861182389937107
## 5 0.489308176100629 0.861182389937107
## 6 0.306918238993711 0.861182389937107
## 7 0.817 1
## 8 0.999 1
## 9 0.421599169262721 0.861182389937107
## 10 0.364485981308411 0.861182389937107
## 11 0.317 0.861182389937107
## 12 0.996 1
## 13 0.764 0.908540540540541
## 14 0.752 0.908540540540541
## 15 0.126 0.320222222222222
## 16 1 1
## 17 0.877 1
## 18 1 1
## 19 0.194 0.449263157894737
## 20 1 1
## 21 0.816 1
## 22 0.998 1
## 23 0.179 0.861182389937107
## 24 0.562 0.868645161290323
## 25 0.031 0.227333333333333
## 26 0.808 0.935578947368421
## 27 0.335 0.861182389937107
## 28 0.827 1
## 29 0.665 0.896342857142857
## 30 0.612 0.868645161290323
## 31 0.003 0.0264 *
## 32 0.606 0.868645161290323
## 33 0.699 0.896342857142857
## 34 0.679 0.896342857142857
## 35 0.235 0.861182389937107
## 36 0.32 0.861182389937107
## 37 0.921 1
## 38 0.926 1
## 39 0.316 0.604521739130435
## 40 0.97 1
## 41 0.638 0.87725
## 42 0.929 1
## 43 0.397 0.861182389937107
## 44 0.28 0.861182389937107
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.juv, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Under.dense / AxcQ1 Homog. 0.221464258 0.48155493 less 0.743 0.8916
## 2 Under.low / AxcQ1 Homog. 0.218403774 -0.96924737 less 0.155 0.34875
## 3 Under.medium / AxcQ1 Homog. 0.550063386 1.37664121 less 0.923 0.969
## 4 Cec / AxcQ1 r 0.042828674 1.80999341 two-sided 0.082 0.279
## 5 T50 / AxcQ1 r -0.000714878 0.04114116 two-sided 0.974 0.974
## 6 T10 / AxcQ1 r -0.026242242 -0.72506195 two-sided 0.472 0.783
## 7 Canopy.Height / AxcQ1 r -0.043252066 -0.62645490 two-sided 0.566 0.727714285714286
## 8 Elevation / AxcQ1 r 0.343316027 2.21082571 two-sided 0.012 0.126
## 9 DIST_TO_EDGE / AxcQ1 r 0.043264696 0.64080035 two-sided 0.528 0.727714285714286
## 10 Under.dense / AxcQ2 Homog. 0.271414040 1.96134648 less 0.951 0.974
## 11 Under.low / AxcQ2 Homog. 0.208125884 -1.62523191 less 0.064 0.279
## 12 Under.medium / AxcQ2 Homog. 0.513648363 0.13750044 less 0.5 0.783
## 13 Cec / AxcQ2 r -0.043906956 -1.80675366 two-sided 0.065 0.279
## 14 T50 / AxcQ2 r -0.017580374 -0.45199623 two-sided 0.594 0.822461538461538
## 15 T10 / AxcQ2 r 0.024502707 0.64251079 two-sided 0.522 0.783
## 16 Canopy.Height / AxcQ2 r 0.153488306 2.14193724 two-sided 0.014 0.126
## 17 Elevation / AxcQ2 r 0.019284269 0.12471550 two-sided 0.932 0.974
## 18 DIST_TO_EDGE / AxcQ2 r 0.098216141 1.70040586 two-sided 0.093 0.279
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Fourth-corner Statistics
## ------------------------
## Permutation method Comb. 2 and 4 ( 999 permutations)
##
## Adjustment method for multiple comparisons: fdr
## call: fourthcorner.rlq(xtest = rlq.adu, nrepet = nrepet, modeltype = 6, typetest = "R.axes", p.adjust.method.G = "fdr", p.adjust.method.D = "fdr")
##
## ---
##
## Test Stat Obs Std.Obs Alter Pvalue Pvalue.adj
## 1 Under.dense / AxcQ1 Homog. 0.214360348 -0.02268301 less 0.516 0.714461538461538
## 2 Under.low / AxcQ1 Homog. 0.306199419 1.55980056 less 0.954 0.954
## 3 Under.medium / AxcQ1 Homog. 0.476937675 -1.27201660 less 0.105 0.378
## 4 Cec / AxcQ1 r 0.031433924 1.66695763 two-sided 0.094 0.378
## 5 T50 / AxcQ1 r -0.007846279 -0.20751648 two-sided 0.873 0.924352941176471
## 6 T10 / AxcQ1 r -0.132361714 -2.07400258 two-sided 0.011 0.084 .
## 7 Canopy.Height / AxcQ1 r -0.152381058 -1.95728491 two-sided 0.014 0.084 .
## 8 Elevation / AxcQ1 r 0.084566234 1.10490431 two-sided 0.278 0.6255
## 9 DIST_TO_EDGE / AxcQ1 r -0.033692825 -0.50940510 two-sided 0.696 0.83025
## 10 Under.dense / AxcQ2 Homog. 0.233712304 0.60296633 less 0.741 0.8892
## 11 Under.low / AxcQ2 Homog. 0.286539392 0.35748142 less 0.654 0.840857142857143
## 12 Under.medium / AxcQ2 Homog. 0.476587859 -1.12584597 less 0.15 0.45
## 13 Cec / AxcQ2 r -0.005443898 -0.20991642 two-sided 0.846 0.895764705882353
## 14 T50 / AxcQ2 r -0.030475271 -0.95878494 two-sided 0.359 0.6462
## 15 T10 / AxcQ2 r 0.036422985 0.59083109 two-sided 0.615 0.83025
## 16 Canopy.Height / AxcQ2 r 0.050444774 0.69333076 two-sided 0.537 0.83025
## 17 Elevation / AxcQ2 r 0.175774038 2.66175775 two-sided 0.005 0.084 .
## 18 DIST_TO_EDGE / AxcQ2 r 0.071782890 1.06132140 two-sided 0.356 0.6462
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## [1] "juveniles"
## [1] "adults"
Significance with axes can also be reported on the factorial map of RLQ analysis. Here, significant associations with the first axis are represented in blue, with the second axis in orange, with both axes in green (variables with no significant association are in black)
## [1] "juveniles"
## [1] "adults"